/// @tags: Gauss
#include <cstdio>
#include <iomanip>
#include <iostream>

using namespace std;

namespace BlueQuantum {

const int N = 1e4 + 5;
double p;
int n, k;
double f[N][2];

inline int main() {
  cin >> p >> n >> k;
  f[1][1] = 1;
  if (p == 0) {
    if (n == 1) puts("1");
    else
      puts("0");
    return 0;
  }
  for (int i = 2, lst, cur; i <= n; ++i) {
    double a = 1, c = 0, A = 0, C = 0;
    cur = i & 1;
    lst = cur ^ 1;
    for (int j = 2; j <= i; ++j)
      a *= (1 - p), A += a, c = (1 - p) * c + p * f[j - 1][lst], C += c;
    f[1][cur] = (1 - C) / (A + 1);
    for (int j = 2; j <= i; ++j) f[j][cur] = p * f[j - 1][lst] + (1 - p) * f[j - 1][cur];
  }
  cout << setprecision(9) << f[k][n & 1];
  return 0;
}

}  // namespace BlueQuantum

int main() {
#ifndef ONLINE_JUDGE
#ifdef LOCAL
  freopen("/tmp/CodeTmp/testdata.in", "r", stdin);
  freopen("/tmp/CodeTmp/testdata.out", "w", stdout);
#else
  freopen("P5249 [LnOI2019] 加特林轮盘赌.in", "r", stdin);
  freopen("P5249 [LnOI2019] 加特林轮盘赌.out", "w", stdout);
#endif
#endif

  ios::sync_with_stdio(false), cin.tie(NULL), cout.tie(NULL);
  return BlueQuantum::main();
}
